Mock Object
ある関数をテストするために、内部で使ってるclassのダミーを作る
テスト対象の間接出力の期待結果を持っています。
テスト対象を実行している間、テスト対象の間接出力を取得します。
間接出力を確保できたら、Mock Objectの中でその期待結果と比較検証し、成功か失敗か判定します。
テストコードは、テスト対象を実行後、Mock Objectから検証の成功・失敗の情報を受け取ります。
Test Stubの機能を包含していることもあります。
haskell
モック用のmonadを作ってIOをテストする
mock
stubの話も混じっている